home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.1 (Developer) [x86] / NeXT Step 3.1 Intel dev.cdr.dmg / NextDeveloper / Headers / bsd / dev / i386 / VGAShared.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-30  |  2.5 KB  |  104 lines

  1. /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * VGAShared.h - Definitions of objects and types shared between kernel
  4.  *           level VGA driver and PostScript level driver.
  5.  *
  6.  * HISTORY
  7.  * 28 Sep 92    Gary Crum
  8.  *      Created. 
  9.  */
  10.  
  11. #import <mach/boolean.h>
  12.  
  13. #if !defined(__Bounds__) && !defined(BINTREE_H)
  14. #define __Bounds__
  15. typedef struct { short minx, maxx, miny, maxy; } Bounds;
  16. #endif
  17. #if !defined(__Point__) && !defined(BINTREE_H)
  18. #define __Point__
  19. typedef struct { short x, y; } Point;
  20. #endif
  21.  
  22. //
  23. // Cursor and Window Server state data, occupying a slice of shared memory
  24. // between the kernel and WindowServer.
  25. //
  26.  
  27. #define CURSORWIDTH  16         /* width in pixels */
  28. #define CURSORHEIGHT 16         /* height in pixels */
  29.  
  30. struct bm12Cursor {
  31.     unsigned int image[4][16];
  32.     unsigned int mask[4][16];
  33.     unsigned int save[16];
  34. };
  35.  
  36. struct bm18Cursor {
  37.     unsigned char image[4][256];
  38.     unsigned char mask[4][256];
  39.     unsigned char save[256];
  40. };
  41.  
  42. struct bm34Cursor {
  43.     unsigned short image[4][256];
  44.     unsigned short save[256];
  45. };
  46.  
  47. struct bm38Cursor {
  48.     unsigned int image[4][256];
  49.     unsigned int save[256];
  50. };
  51.  
  52. typedef struct {
  53.     int frame;
  54.     ev_lock_data_t cursorSema;    
  55.     char cursorShow;
  56.     char cursorObscured;
  57.     char shieldFlag;
  58.     char shielded;
  59.     Bounds saveRect;
  60.     Bounds shieldRect;
  61.     Point cursorLoc;
  62.     Bounds cursorRect;
  63.     Bounds oldCursorRect;
  64.     Bounds screenBounds;
  65.     Point hotSpot[4];
  66.     union {
  67.     struct bm12Cursor bw;
  68.     struct bm18Cursor bw8;
  69.     struct bm34Cursor rgb;
  70.     struct bm38Cursor rgb24;
  71.     } cursor;
  72. } VGAShmem_t;
  73.  
  74.  
  75. //
  76. // Get/Set parameters for the VGA device.  These include support
  77. // for getting the frame buffer parameters, registering the frame buffer
  78. // with the event system, and returning the registration token.
  79. //
  80. /* Valid parameters for getParameterInt */
  81. #define VGA_FB_DIMENSIONS    "IO_Framebuffer_Dimensions"
  82. typedef enum {
  83.     VGA_FB_WIDTH,
  84.     VGA_FB_HEIGHT,
  85.     VGA_FB_ROWBYTES,
  86. } kmFbDimensionIndices;
  87. #define VGA_FB_DIMENSIONS_SIZE    (VGA_FB_ROWBYTES + 1)
  88.  
  89. #define VGA_FB_REGISTER    "IO_Framebuffer_Register"
  90. #define VGA_FB_REGISTER_SIZE    1
  91.  
  92. /* Valid parameters for setParameterInt */
  93. #define VGA_FB_UNREGISTER    "IO_Framebuffer_Unregister"
  94. #define VGA_FB_UNREGISTER_SIZE    1
  95.  
  96. #define VGA_FB_SETDIMENSIONS    "IO_Framebuffer_SetDimensions"
  97. #define VGA_FB_SETDIMENSIONS_SIZE (VGA_FB_ROWBYTES + 1)
  98.  
  99. #define VGA_FB_MAP        "IO_Framebuffer_Map"
  100. #define VGA_FB_MAP_SIZE    1
  101.  
  102. #define VGA_FB_UNMAP        "IO_Framebuffer_Unmap"
  103. #define VGA_FB_UNMAP_SIZE    1
  104.